struct _GtkAssistant
{
GtkWindow parent;
-
- /*< private >*/
- GtkAssistantPrivate *priv;
};
struct _GtkAssistantClass
set_use_header_bar (GtkAssistant *assistant,
gint use_header_bar)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
if (use_header_bar == -1)
return;
GParamSpec *pspec)
{
GtkAssistant *assistant = GTK_ASSISTANT (object);
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
switch (prop_id)
{
GtkWidget *widget,
GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
if (priv->use_header_bar)
g_warning ("Content added to the action area of a assistant using header bars");
static void
apply_use_header_bar (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
gtk_widget_set_visible (priv->action_area, !priv->use_header_bar);
gtk_widget_set_visible (priv->headerbar, priv->use_header_bar);
add_to_header_bar (GtkAssistant *assistant,
GtkWidget *child)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
gtk_widget_set_valign (child, GTK_ALIGN_CENTER);
static void
add_action_widgets (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GList *children;
GList *l;
gtk_assistant_constructed (GObject *object)
{
GtkAssistant *assistant = GTK_ASSISTANT (object);
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
G_OBJECT_CLASS (gtk_assistant_parent_class)->constructed (object);
static void
escape_cb (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
/* Do not allow cancelling in the middle of a progress page */
if (priv->current_page &&
gtk_assistant_finalize (GObject *object)
{
GtkAssistant *assistant = GTK_ASSISTANT (object);
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
if (priv->model)
g_object_remove_weak_pointer (G_OBJECT (priv->model), (gpointer *)&priv->model);
static gint
default_forward_function (gint current_page, gpointer data)
{
- GtkAssistant *assistant;
- GtkAssistantPrivate *priv;
+ GtkAssistant *assistant = GTK_ASSISTANT (data);
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page_info;
GList *page_node;
- assistant = GTK_ASSISTANT (data);
- priv = assistant->priv;
-
page_node = g_list_nth (priv->pages, ++current_page);
if (!page_node)
static gboolean
last_button_visible (GtkAssistant *assistant, GtkAssistantPage *page)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page_info;
gint count, page_num, n_pages;
static void
update_actions_size (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GList *l;
GtkAssistantPage *page;
gint buttons, page_buttons;
static void
compute_last_button_state (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
gtk_widget_set_sensitive (priv->last, priv->current_page->complete);
if (last_button_visible (assistant, priv->current_page))
static void
compute_progress_state (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
gint page_num, n_pages;
n_pages = gtk_assistant_get_n_pages (assistant);
static void
update_buttons_state (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
if (!priv->current_page)
return;
static gboolean
update_page_title_state (GtkAssistant *assistant, GList *list)
{
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page, *other;
- GtkAssistantPrivate *priv = assistant->priv;
gboolean visible;
GList *l;
static void
update_title_state (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GList *l;
gboolean show_titles;
set_current_page (GtkAssistant *assistant,
gint page_num)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
priv->current_page = (GtkAssistantPage *)g_list_nth_data (priv->pages, page_num);
static gint
compute_next_step (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page_info;
gint current_page, n_pages, next_page;
on_assistant_last (GtkWidget *widget,
GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
while (priv->current_page->type == GTK_ASSISTANT_PAGE_CONTENT &&
priv->current_page->complete)
GtkWidget *page,
GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page_info;
GList *page_node;
GList *element;
static void
gtk_assistant_init (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv;
-
- assistant->priv = gtk_assistant_get_instance_private (assistant);
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
- priv = assistant->priv;
priv->pages = NULL;
priv->current_page = NULL;
priv->visited_pages = NULL;
gtk_assistant_destroy (GtkWidget *widget)
{
GtkAssistant *assistant = GTK_ASSISTANT (widget);
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
if (priv->model)
g_list_model_items_changed (G_LIST_MODEL (priv->model), 0, g_list_length (priv->pages), 0);
find_page (GtkAssistant *assistant,
GtkWidget *page)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GList *child = priv->pages;
while (child)
gtk_assistant_map (GtkWidget *widget)
{
GtkAssistant *assistant = GTK_ASSISTANT (widget);
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GList *page_node;
GtkAssistantPage *page;
gint page_num;
gtk_assistant_unmap (GtkWidget *widget)
{
GtkAssistant *assistant = GTK_ASSISTANT (widget);
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
g_slist_free (priv->visited_pages);
priv->visited_pages = NULL;
gtk_assistant_close_request (GtkWindow *window)
{
GtkAssistant *assistant = GTK_ASSISTANT (window);
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
/* Do not allow cancelling in the middle of a progress page */
if (priv->current_page &&
gtk_assistant_add (GtkContainer *container,
GtkWidget *page)
{
+ GtkAssistant *assistant = GTK_ASSISTANT (container);
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
+
/* A bit tricky here, GtkAssistant doesnt exactly play by
* the rules by allowing gtk_container_add() to insert pages.
*
* For the first invocation (from the builder template invocation),
* let's make sure we add the actual direct container content properly.
*/
- if (!GTK_ASSISTANT (container)->priv->constructed)
+ if (!priv->constructed)
{
gtk_widget_set_parent (page, GTK_WIDGET (container));
_gtk_bin_set_child (GTK_BIN (container), page);
return;
}
-g_print ("after template init\n");
gtk_assistant_append_page (GTK_ASSISTANT (container), page);
}
gtk_assistant_remove (GtkContainer *container,
GtkWidget *page)
{
- GtkAssistant *assistant = (GtkAssistant*) container;
+ GtkAssistant *assistant = GTK_ASSISTANT (container);
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
/* Forward this removal to the content stack */
- if (gtk_widget_get_parent (page) == assistant->priv->content)
+ if (gtk_widget_get_parent (page) == priv->content)
{
- gtk_container_remove (GTK_CONTAINER (assistant->priv->content), page);
+ gtk_container_remove (GTK_CONTAINER (priv->content), page);
}
else
{
gint
gtk_assistant_get_current_page (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
g_return_val_if_fail (GTK_IS_ASSISTANT (assistant), -1);
- priv = assistant->priv;
-
if (!priv->pages || !priv->current_page)
return -1;
gtk_assistant_set_current_page (GtkAssistant *assistant,
gint page_num)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page;
g_return_if_fail (GTK_IS_ASSISTANT (assistant));
- priv = assistant->priv;
-
if (page_num >= 0)
page = (GtkAssistantPage *) g_list_nth_data (priv->pages, page_num);
else
void
gtk_assistant_previous_page (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page_info;
GSList *page_node;
g_return_if_fail (GTK_IS_ASSISTANT (assistant));
- priv = assistant->priv;
-
/* skip the progress pages when going back */
do
{
gint
gtk_assistant_get_n_pages (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
g_return_val_if_fail (GTK_IS_ASSISTANT (assistant), 0);
- priv = assistant->priv;
-
return g_list_length (priv->pages);
}
gtk_assistant_get_nth_page (GtkAssistant *assistant,
gint page_num)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkAssistantPage *page;
GList *elem;
g_return_val_if_fail (GTK_IS_ASSISTANT (assistant), NULL);
g_return_val_if_fail (page_num >= -1, NULL);
- priv = assistant->priv;
-
if (page_num == -1)
elem = g_list_last (priv->pages);
else
GtkAssistantPage *page_info,
gint position)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
gint n_pages;
GtkStyleContext *context;
GtkWidget *sibling;
gtk_assistant_remove_page (GtkAssistant *assistant,
gint page_num)
{
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
GtkWidget *page;
g_return_if_fail (GTK_IS_ASSISTANT (assistant));
if (page)
gtk_container_remove (GTK_CONTAINER (assistant), page);
- if (assistant->priv->model)
- g_list_model_items_changed (assistant->priv->model, page_num, 1, 0);
+ if (priv->model)
+ g_list_model_items_changed (priv->model, page_num, 1, 0);
}
/**
gpointer data,
GDestroyNotify destroy)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
g_return_if_fail (GTK_IS_ASSISTANT (assistant));
- priv = assistant->priv;
-
if (priv->forward_data_destroy &&
priv->forward_function_data)
(*priv->forward_data_destroy) (priv->forward_function_data);
add_to_action_area (GtkAssistant *assistant,
GtkWidget *child)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
gtk_widget_set_valign (child, GTK_ALIGN_BASELINE);
gtk_assistant_add_action_widget (GtkAssistant *assistant,
GtkWidget *child)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
g_return_if_fail (GTK_IS_ASSISTANT (assistant));
g_return_if_fail (GTK_IS_WIDGET (child));
- priv = assistant->priv;
-
if (GTK_IS_BUTTON (child))
{
gtk_size_group_add_widget (priv->button_size_group, child);
gtk_assistant_remove_action_widget (GtkAssistant *assistant,
GtkWidget *child)
{
- GtkAssistantPrivate *priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
g_return_if_fail (GTK_IS_ASSISTANT (assistant));
g_return_if_fail (GTK_IS_WIDGET (child));
- priv = assistant->priv;
-
if (GTK_IS_BUTTON (child))
{
gtk_size_group_remove_widget (priv->button_size_group, child);
void
gtk_assistant_commit (GtkAssistant *assistant)
{
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
+
g_return_if_fail (GTK_IS_ASSISTANT (assistant));
- g_slist_free (assistant->priv->visited_pages);
- assistant->priv->visited_pages = NULL;
+ g_slist_free (priv->visited_pages);
+ priv->visited_pages = NULL;
- assistant->priv->committed = TRUE;
+ priv->committed = TRUE;
update_buttons_state (assistant);
}
static gint
gtk_assistant_accessible_get_n_children (AtkObject *accessible)
{
+ GtkAssistantPrivate *priv;
GtkWidget *widget;
widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible));
if (widget == NULL)
return 0;
- return g_list_length (GTK_ASSISTANT (widget)->priv->pages) + 2;
+ priv = gtk_assistant_get_instance_private (GTK_ASSISTANT (widget));
+
+ return g_list_length (priv->pages) + 2;
}
static AtkObject *
return NULL;
assistant = GTK_ASSISTANT (widget);
- priv = assistant->priv;
+ priv = gtk_assistant_get_instance_private (assistant);
n_pages = g_list_length (priv->pages);
if (index < 0)
else if (type && g_str_equal (type, "titlebar"))
{
GtkAssistant *assistant = GTK_ASSISTANT (buildable);
- assistant->priv->headerbar = GTK_WIDGET (child);
- gtk_window_set_titlebar (GTK_WINDOW (buildable), assistant->priv->headerbar);
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
+ priv->headerbar = GTK_WIDGET (child);
+ gtk_window_set_titlebar (GTK_WINDOW (buildable), priv->headerbar);
}
else if (GTK_IS_WIDGET (child))
gtk_container_add (GTK_CONTAINER (buildable), GTK_WIDGET (child));
gtk_assistant_pages_get_n_items (GListModel *model)
{
GtkAssistantPages *pages = GTK_ASSISTANT_PAGES (model);
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (pages->assistant);
- return g_list_length (pages->assistant->priv->pages);
+ return g_list_length (priv->pages);
}
static gpointer
guint position)
{
GtkAssistantPages *pages = GTK_ASSISTANT_PAGES (model);
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (pages->assistant);
GtkAssistantPage *page;
- page = g_list_nth_data (pages->assistant->priv->pages, position);
+ page = g_list_nth_data (priv->pages, position);
return g_object_ref (page);
}
GListModel *
gtk_assistant_get_pages (GtkAssistant *assistant)
{
- GtkAssistantPrivate *priv = assistant->priv;
+ GtkAssistantPrivate *priv = gtk_assistant_get_instance_private (assistant);
g_return_val_if_fail (GTK_IS_ASSISTANT (assistant), NULL);